/**
 * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
 *
 * 
 * @param grid int整型二维数组 
 * @return int整型
 */
 function maxValue( grid ) {
  // write code here
  let m = grid.length
  let n = grid[0] && grid[0].length
  let dp = new Array(n+1).fill(0)
  for(let i = 0;i < m;i++){
    for(let j = 1;j < n + 1;j++){
      dp[j] = dp[j-1] > dp[j] ? dp[j-1] + grid[i][j-1] : dp[j] + grid[i][j-1]
    }
  }
  return dp[n]
}
module.exports = {
  maxValue : maxValue
};